package com.gxar.quick.ar.server.base.model.protocol.common;

import com.gxar.quick.ar.server.base.common.enums.protocol.ArDisplayModeEnum;
import com.gxar.quick.ar.server.base.common.enums.protocol.ArProductMethodEnum;
import com.gxar.quick.ar.server.base.common.enums.protocol.ArProtocolEditorEnum;
import lombok.Data;

import java.util.List;

/**
 * 通用协议信息
 *
 * @author zxh
 * @version 1.0
 * @created 2024/01/02.
 */
@Data
public class CommonArProtocol {

    /**
     * 识别图默认缩放
     */
    public static final String DEFAULT_COMMON_IDENTIFY_IMAGE_SCALE = "1 1 1";

    public static final String DEFAULT_COMMON_IDENTIFY_IMAGE_POSITION = "0 0 0";

    public static final String DEFAULT_COMMON_IDENTIFY_IMAGE_ROTATION = "0 0 0";

    /**
     * 协议版本
     */
    private String version;

    /**
     * 制作方法
     */
    private ArProductMethodEnum productMethod;

    /**
     * 配置来源编辑器
     */
    private ArProtocolEditorEnum editor;

    /**
     * 作品编号
     */
    private String workId;

    /**
     * AR展示模式(Marker、Plane...)
     */
    private ArDisplayModeEnum displayMode;

    /**
     * 空间尺度
     */
    private Double spaceBaseSize = 1.0d;

    /**
     * 识别模型
     */
    private CommonArIdentifyModel identifyModel;

    /**
     * 内容列表
     */
    private List<CommonArContentModel> contentModelList;

    /**
     * 作品是否展示水印
     */
    private Integer waterMark;
}
